package main

import (
	"fmt"
	"sort"
	"strings"
)

func main() {

	s := []string{"songj123 100", "sj 23", "sj 445", "ritu 56"}

	sort.Slice(s, func(i, j int) bool {
		s1 := strings.Split(s[i], " ")
		s2 := strings.Split(s[j], " ")
		length := 0
		if len(s1[0]) > len(s2[0]) {
			length = len(s1[0])
		} else {
			length = len(s2[0])
		}
		for k := 0; k < length-1; k++ {
			if s1[0][k] < s2[0][k] {
				return true
			} else if s1[0][k] > s2[0][k] {
				return false
			} else {
				if k == len(s1[0]) && k != len(s2[0]) {
					return true
				} else if k == len(s2[0]) && k != len(s1[0]) {
					return false
				} else if k == len(s2[0]) && k == len(s1[0]) {
					if s[i][1] > s[j][1] {
						return false
					} else {
						return true
					}
				}
			}
		}
		return true
	})
	fmt.Println(s)
}
